SFTR30 = Font ("SF Transrobotics", math.floor(30 * ScrH() / 1050))
SFTR50 = Font ("SF Transrobotics", math.floor(50 * ScrH() / 1050))
SFTR80 = Font ("SF Transrobotics", math.floor(80 * ScrH() / 1050))

HUD_INSET = 0.02
HUD_BOX_COLOUR = Color (40, 75, 125, 200)
HUD_LINE_COLOUR = Color (30, 55, 90, 200)
HUD_TEXT_COLOUR = Color (30, 40, 70, 240)
HUD_TEXT_OUTLINE_COLOUR = Color (30, 55, 90, 200)

HUD_OUTLINE_COLOUR_SOLID = Color (30, 55, 90, 255)

HUD_TEXT_COLOUR_R = Color (60, 20, 10, 200)
HUD_TEXT_OUTLINE_COLOUR_R = Color (120, 40, 20, 200)

QUAD_TOPLEFT = 1
QUAD_TOPRIGHT = 4
QUAD_BOTTOMLEFT = 2
QUAD_BOTTOMRIGHT = 3

function Quad( x1, y1, w1, x2, y2, w2 )
	q = {
		{ x = x1, y = y1 }, // Top left.
		{ x = x2, y = y2 }, // Bottom left.
		{ x = x2 + w2, y = y2 }, // Bottom right.
		{ x = x1 + w1, y = y1 } // Top right.
	}
	return q
end
function DrawQuad( quad, quadColour, lineColour )
	surface.SetDrawColor (quadColour.r, quadColour.g, quadColour.b, quadColour.a)
	surface.DrawPoly( quad )
	
	if ( lineColour ) then
		surface.SetDrawColor (lineColour.r, lineColour.g, lineColour.b, lineColour.a)
		surface.DrawLine (quad[1].x, quad[1].y, quad[2].x, quad[2].y) // Left.
		surface.DrawLine (quad[2].x, quad[2].y, quad[3].x, quad[3].y) // Bottom.
		surface.DrawLine (quad[3].x - 1, quad[3].y, quad[4].x - 1, quad[4].y) // Right.
		surface.DrawLine (quad[4].x, quad[4].y, quad[1].x, quad[1].y) // Top.
	end
end

function S( i ) return ScrH() * i end

c = table.Copy